package gagak.framework.web.view;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/*
 * 做视图处理器
 *
 * @author houhong
 */
public interface View {

    /*
     * // HttpStatus的key，可议根据此key去获取。备注：并不是每个视图都需要实现的。目前只有`RedirectView`有处理
     */
    String RESPONSE_STATUS_ATTRIBUTE = View.class.getName() + ".responseStatus";

    String PATH_VARIABLES = View.class.getName() + ".pathVariables";

    String SELECTED_CONTENT_TYPE = View.class.getName() + ".selectedContentType";

    /*
     * 是否支持当前媒体类型
     */
    boolean support(String mediaType);

    String getContentType();

    /*
     * 这是最重要的 根据model里面的数据，request等  把渲染好的数据写进response里~
     */
    void render(Object resultValue, HttpServletRequest request, HttpServletResponse response)
            throws Exception;
}
